package com.steel.yfmall.cloud.assistant.oms;

import com.steel.yfmall.cloud.assistant.dto.para.oms.ParaMasterOrderInfo;
import com.steel.yfmall.cloud.assistant.po.oms.MasterOrderInfo;
import com.steel.yfmall.cloud.assistant.po.oms.MasterOrderInoExtend;

import java.util.List;

/**
 * @author 龙飞
 * @version 1.0
 * @since 2021/01/08 星期五 15:13
 */
public interface MasterOrderInfoService {

    List<MasterOrderInfo> selectByMasterOrderSnList(ParaMasterOrderInfo paraBean);

    /**
     * 查询订单和订单扩展信息
     * @Title: selectBeanInoByPk
     * @Description: (这里用一句话描述这个方法的作用)
     * @Param masterOrderSn 参数说明
     * @return com.steel.yfmall.cloud.assistant.po.oms.MasterOrderInoExtend    返回类型
     * @author yuchaohua
     * @date 2021/1/20 15:44
     */
    MasterOrderInoExtend selectBeanInoByPk(String masterOrderSn);

    int updateByPrimaryKeySelective(MasterOrderInfo masterOrderInfo);

    /**
     * 需改 订单主信息上的 订单结算总价、实际商品结算重量
     *
     * @param paraMasterOrderInfo
     * @return true成功、false失败
     * @author jia chang bao
     */
    Boolean updateMasterOrderInfo(ParaMasterOrderInfo paraMasterOrderInfo);

    /**
     * 查询单条订单信息
     * @Title: selectMasterOrderInfoByPara
     * @Description: (这里用一句话描述这个方法的作用)
     * @Param paraBean 参数说明
     * @return com.steel.yfmall.cloud.assistant.po.oms.MasterOrderInfo    返回类型
     * @author yuchaohua
     * @date 2021/1/14 21:36
     */
    MasterOrderInfo selectMasterOrderInfoByPara(ParaMasterOrderInfo paraBean);

    /**
     * 根据条件修改订单信息
     * @Title: updateMasterOrderInfoByPara
     * @Description: (这里用一句话描述这个方法的作用)
     * @Param recordBean 参数说明
     * @Param paraBean 参数说明
     * @return boolean    返回类型
     * @author yuchaohua
     * @date 2021/1/22 10:35
     */
    boolean updateMasterOrderInfoByPara(MasterOrderInfo recordBean, ParaMasterOrderInfo paraBean);
}
